package com.tsd.jxc.buy.dao;

import com.tsd.common.vo.BatchDeleteLogicVo;
import com.tsd.core.vo.PageBean;
import com.tsd.jxc.buy.entity.JxcBuyReturnBill;
import com.tsd.jxc.buy.entity.JxcBuyReturnBillExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：JxcBuyReturnBillMapper
 *
 * @author Hillpool
 * @date 2022/07/29 15:01:23
 */
public interface JxcBuyReturnBillMapper {

    JxcBuyReturnBill selectByPrimaryKey(Long id);

    JxcBuyReturnBillExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcBuyReturnBill record);

    int insertSelective(JxcBuyReturnBill record);

    int insertList(@Param("list") List<JxcBuyReturnBillExt> list);

    int updateByPrimaryKey(JxcBuyReturnBill record);

    int updateByPrimaryKeySelective(JxcBuyReturnBill record);

    int updateList(@Param("list") List<JxcBuyReturnBillExt> list);

    List<JxcBuyReturnBillExt> selectByEntity(JxcBuyReturnBillExt record);

    List<JxcBuyReturnBillExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcBuyReturnBillExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcBuyReturnBillExt> selectByParams(@Param("params") Map<String, Object> params);

    JxcBuyReturnBillExt selectDuplicatedCode(JxcBuyReturnBillExt record);

    int deleteLogicBySidList(BatchDeleteLogicVo logicVo);

    int updateReturnInfo(@Param("return_bill_list") List<String> return_bill_list);

    List<JxcBuyReturnBillExt> selectBuyReturnBillsIncludeByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    int restoreOutBill(@Param("out_bill_list") List<String> out_bill_list);

    int countValid(@Param("yyyy") int yyyy, @Param("mm") int mm);
}